package com.ruoyi.system.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 远传水表抄历史数据对象 water_ycmeter_datahistory
 *
 * @author ruoyi
 * @date 2025-09-26
 */
public class WaterYcmeterDatahistory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 表号 */
    @Excel(name = "表号")
    private String meterNo;

    /** 表类型0：远传表，1手抄表 */
    @Excel(name = "表类型0：远传表，1手抄表")
    private String meterType;

    /** 户号 */
    @Excel(name = "户号")
    private String userId;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /** 水表地址 */
    private String waterAddress;

    /** 阀门状态 0:开,1:关 */
    @Excel(name = "阀门状态 0:开,1:关")
    private String controlStatus;

    /** 表底数 */
    @Excel(name = "表底数")
    private Double lastReading;

    /** 表读数 */
    @Excel(name = "表读数")
    private Double currentReading;

    /** 正累计 */
    @Excel(name = "正累计")
    private Double plustotalflux;

    /** 反累计 */
    @Excel(name = "反累计")
    private Double reversedotalflux;

    /** 压力（Kpa） */
    @Excel(name = "压力", readConverterExp = "K=pa")
    private Double pressure;

    /** 瞬时流量(m³/h) */
    @Excel(name = "瞬时流量(m³/h)")
    private Double flowRate;

    /** 通讯电池电压 */
    @Excel(name = "通讯电池电压")
    private Double tension1;

    /** 计量电池电压 */
    @Excel(name = "计量电池电压")
    private Double tension2;

    /** 信号强度 */
    @Excel(name = "信号强度")
    private Double signalinten;

    /** 抄表日期 */
    @Excel(name = "抄表日期")
    private String readDate;

    private String startTime;
    private String endTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setMeterNo(String meterNo)
    {
        this.meterNo = meterNo;
    }

    public String getMeterNo()
    {
        return meterNo;
    }
    public void setMeterType(String meterType)
    {
        this.meterType = meterType;
    }

    public String getMeterType()
    {
        return meterType;
    }
    public void setUserId(String userId)
    {
        this.userId = userId;
    }

    public String getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setControlStatus(String controlStatus)
    {
        this.controlStatus = controlStatus;
    }

    public String getControlStatus()
    {
        return controlStatus;
    }
    public void setLastReading(Double lastReading)
    {
        this.lastReading = lastReading;
    }

    public Double getLastReading()
    {
        return lastReading;
    }

    public Double getCurrentReading() {
        return currentReading;
    }

    public void setCurrentReading(Double currentReading) {
        this.currentReading = currentReading;
    }

    public Double getPlustotalflux() {
        return plustotalflux;
    }

    public void setPlustotalflux(Double plustotalflux) {
        this.plustotalflux = plustotalflux;
    }

    public Double getReversedotalflux() {
        return reversedotalflux;
    }

    public void setReversedotalflux(Double reversedotalflux) {
        this.reversedotalflux = reversedotalflux;
    }

    public Double getPressure() {
        return pressure;
    }

    public void setPressure(Double pressure) {
        this.pressure = pressure;
    }

    public Double getFlowRate() {
        return flowRate;
    }

    public void setFlowRate(Double flowRate) {
        this.flowRate = flowRate;
    }

    public Double getTension1() {
        return tension1;
    }

    public void setTension1(Double tension1) {
        this.tension1 = tension1;
    }

    public Double getTension2() {
        return tension2;
    }

    public void setTension2(Double tension2) {
        this.tension2 = tension2;
    }

    public Double getSignalinten() {
        return signalinten;
    }

    public void setSignalinten(Double signalinten) {
        this.signalinten = signalinten;
    }

    public void setReadDate(String readDate)
    {
        this.readDate = readDate;
    }

    public String getReadDate()
    {
        return readDate;
    }

    public String getWaterAddress() {
        return waterAddress;
    }

    public void setWaterAddress(String waterAddress) {
        this.waterAddress = waterAddress;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("meterNo", getMeterNo())
            .append("meterType", getMeterType())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("controlStatus", getControlStatus())
            .append("lastReading", getLastReading())
            .append("currentReading", getCurrentReading())
            .append("plustotalflux", getPlustotalflux())
            .append("reversedotalflux", getReversedotalflux())
            .append("pressure", getPressure())
            .append("flowRate", getFlowRate())
            .append("tension1", getTension1())
            .append("tension2", getTension2())
            .append("signalinten", getSignalinten())
            .append("readDate", getReadDate())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
